home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Whiteline: delta
/
whiteline CD Series - delta.iso
/
dl_serie
/
updates
/
016
/
tcache64
/
changes.txt
< prev
next >
Wrap
Text File
|
1995-11-25
|
18KB
|
327 lines
Ralf Biedermann
Ortfeld 3
27299 Langwedel
Germany
Ab/seit Version 6.0 von TCache werden in dieser Datei die Änderungen der
verschiedenen Versionen dokumentiert.
Was hat sich bei der Version 6.4 gegenüber der Version 6.3 geändert ?
- Gesamtstatistik war bei einer Option falsch.
- Durch eine weitere kleine Optimierung sollte die Anzahl der
Schreibvorgänge weiter minimiert worden sein.
- Unter MagiC 3 und background-DMA (z.B. bei HDD von Uwe Seimet) blieb
TCache 6.3 in einer Endlosschleife hängen, dies sollte behoben sein. Durch
diese Änderungen muβten leider ein paar Optimierungen geopfert werden so
daβ bei Benchmark ein paar Prozent fehlen. Sorry!
- Das ACC hat einen Busfehler (BOMBEN) verursacht wenn man versuchte es
ohne TCache zu starten. Sollte weg sein.
- Bei den virtuellen Laufwerken wurden in 6.3 doch nur 16 Laufwerke
unterstützt. Ab 6.4 sollen 32 Laufwerke (realistisch 25) unterstützt
werden.
- Beim ACC-Verzeichnis wurde im Accessory der falsche Name angezeigt aber
der richtige Name beachtet. Ab 6.4 soll mal wieder der richtige Name auch
angezeigt werden.
Was hat sich bei der Version 6.3 gegenüber der Version 6.2 geändert ?
------------- ACHTUNG die Cookiefunktion RBInformation ist erweitert worden
- Unter Mag!x gab es Adressfehler (Bomben) wenn in TCache die Option 'ACC
aus Ordner laden' aktiv war. Ab TCache 6.3 werden alle Beeinflussungen vom
Gemdos unterlassen und diese Bomben sollten nicht mehr auftreten.
- In Version 6.2 hat sich durch die Mag!x-Anpassung leider ein Fehler bei
der Laufwerksumlenkung eingeschlichen der zu Abstürzen führte. Da erkannt
wurde er natürlich auch gebannt.
- Ab Version 6.3 wird es möglich sein das Passwort zu ändern. Um das
Passwort zu ändern muβ man in das Menu Zubehör und dort in das Menu
Passwort. In diesem Menu braucht nur das alte und zur Sicherheit zweimal
das neue Passwort angegeben werden. Wenn das ACC durch OK oder speichern
verlassen wird sollte das neue Passwort übernommen werden, wenn das alte
Passwort stimmt und die beiden neuen Passwörter identisch sind. Ach ja
bevor einer sucht. Das Passwort steht nicht mehr unverschlüsselt im
Programm drin ;-{)}
- Ab Version 6.3 wird auch der Schreibschutz bzw. delayed write für jedes
Laufwerk nur geändert wenn das Passwort eingegeben wurde.
- In Version 6.2 wollte ich Laufwerk 'U' wegen MinT bzw. Mag!x nicht
unterstützen, leider hatte ich einen kleinen Fehler gemacht und 'u' wurde
in jedem Fall unterstützt. Ab Version 6.3 geht bei Laufwerk 'U' gar nichts
mehr. Ich muβ dazu sagen das es nur eine Vorsichtsmaβnahme ist.
- Wenn unter TCache <= 6.2 ein Block gelesen werden sollte, der gröβer war
als der gröβte unterstützte Block, wurde der Cache komplett geflushed um
Inkonsistenzen zwischen den Cache- und den Festplattendaten zu verhindern.
Ab Version 6.3 wird vorher nachgesehen ob einer der Sektoren im Cache
steht. Ist dies nicht der Fall wird nicht geflushed.
- Unter MinT bzw. Mag!x (Letzters mangels Möglichkeit nicht getestet)
konnte man in 6.2 (und wohl auch früher) überhaupt keine Ramdisk mehr
einrichten. Ab 6.3 wird es wieder möglich sein, aber nur wenn das ACC auch
wirklich als ACC eingebunden wurde und nicht als Applikation gestartet
worden ist.
- Wenn ab 6.3 die Parameter bei aktiver Ramdisk gespeichert werden und das
ACC auch als Solches gestartet wird richtet TCache beim Booten automatisch
wieder eine Ramdisk mit den gespeicherten Parametern ein.
Was hat sich bei der Version 6.2 gegenüber der Version 6.1 geändert ?
!!!!!!!!!!!!! Achtung !!!!!!!!!!!!!!!!!
Folgende Cookie-Funktionen haben sich in 6.2 geändert.
1. RBHide(Flag, RECORD* Daten) Daten ist ein Zeiger auf 32 Byte (bisher 16)
2. RBDrvA(Flag, RECORD* Daten) Daten ist ein Zeiger auf 32 Byte (bisher 16)
!!!!!!!!!!!!! Achtung !!!!!!!!!!!!!!!!!
- Wenn die Option 'flush all' nicht angewählt war konnte es in
bestimmten Ausnahmebedingungen zu Problemen kommen. Problem erkannt und
gebannt.
- Ab Version 6.2 von TCache wird es zwei Versionen von diesem Programm
geben. 1. die registrierte Version ohne Einschränkungen. Die Testversion
TC_TEST.LZH die z.Z. als einzige Einschränkung einen Text beim Booten
enthält. Über weitere einschränkungen werde ich bei Bedarf nachdenken. Die
Weitergabe der registrierten Version ist unter keinen Umständen gestattet.
Zur Weitergabe freigegeben ist nur das Archive TC_TEST.LZH in
unveränderter Form.
- Mit dem Treiber CBHD von Claus Brod kann es Probleme beim Booten gegeben
haben weil es nur durch einen Trick möglich ist TOS dazu zu bewegen von
einem anderen Laufwerk zu booten. Der Trick lag u.A. darin ein Byte eines
Wortes kurzzeitig sowohl im HighByte und im LowByte einzutragen (wegen
eines weiteresn Fehlers im TOS ;-{(}). TCache hat jetzt dieses Wort benutzt
und an eine Routine vom CBHD weitergeleitet und das hat nich harmoniert.
Dies ist ab jetzt Schnee von gestern.
- TCache <6.2 kam nur mit 16 Bios-Laufwerken klar, da Mag!x (>2.00 also
nicht Mag!x 2.00) aber deren 26 unterstützt habe ich TCache angepasst.
TCache untxerstüxtzt jetzt 32 BIOS-Laufwerke. Ob das ACC es auch erlaubt
alle 32 Laufwerke einzustellen kann ich heute noch nicht sagen.
- Wenn in TCache 6.1 der Schalter 'Flush all' NICHT gewählt war und der
Schalter 'etv_term' gewählt war dann wurde beim Verlassen des Progs nicht
alles gesichert. Ab Version 6.2 wird bei 'tv_term' wieder alles geflushed.
- Es gibt im Menu 'Zubehör' den Schalter 'Turbo ;-{)}'. Wenn dieser
Schalter aktiv ist wird keine Statistik mehr geführt, auβerdem sind alle
Schalter deaktiviert die eine Verlangsamung der Operationen bewirken
können. Von diesen Maβnahmen sind die Laufwerke 'A' und 'B' ausgenommen
weil es hier nicht auffällt. WICHTIG: Auch die Überprüfung von
'MediaChange' ist ausgeschaltet. Dies ist nur eine Option für
Geschwindigkeitsfanatiker wie mich. Bei reinem Festplattenbetrieb dürfte
es aber keine Nachteile geben.
- Im Menu 'Zubehör' gibt es jetzt die Option 'Das Ende' die eine Textseite
mit der traurigen Wahrheit öffnet. Dieser Entschluβ kam zur rechten Zeit
da eines meiner Entwicklungstools nur 255 namentliche Objecte unterstützt
und die sind jetzt auch erreicht.
- Im ACC gibt es einen neuen Button 'del delayed'. Ist dieser Button aktiv
so werden die Sektoren, die noch geschrieben werden müssen, aus einer
linked List entfernt. Sinnvoll ist diese Option nur bei groβem Cache
(>1MB).
- Auch beim Flushen (Zurückschreiben verzögerter Daten) sollte die
Floppy-LED jetzt leuchten sofern die Option LED eingeschaltet ist.
- Die Verzögerungszeit für 'Schreiben verzögern' ist, bei gleichen Zahlen'
um den Faktor 5 verlängert worden. Falls bei Version 6.1 hier ein Wert von
50 stand sollte jetzt der Wert 10 eingetragen werden um die gleiche
Verzögerungszeit zu erhalten.
- Durch interne Optimierungen führen 'Fat & RootDir' und 'Schreiben
verzögern' nicht mehr zu einer Verlangsamung. Wenn in dieser Version ein
Sektor gesperrt (gelockt oder Sektoren, die noch geschrieben werden müssen)
sind werden diese aus einer verketteten Liste zeitweise entfernt und bei
Bedarf wieder eingebaut. Durch diese Neuigkeit wird das Suchen nach freien
Sektoren beschleunigt.
Was hat sich bei der Version 6.1 gegenüber der Version 6.0 geändert ?
- Solange TCache nicht dem ACC konfiguriert wurde erscheint beim Booten
ein Hinweistext, der erst nach einem Tastendruck verschwindet. Sobald
einmal Parameter mit dem ACC gesichert wurden, erscheint dieser Text nie
mehr. Ich habe dieses kleine Hindernis eingebaut um auf die
Vertriebsänderungen aufmerksam zu machen. Auf Anraten eines Anwalts muβ
ich sicherstellen das jeder den Text gelesen hat. Für die ehrlichen
Benutzer tut es mir ein biβchen leid aber ich habe keine Lust mehr mich
mit solchen Sachen rumzuschlagen. Die Warnung ist durchaus ernst gemeint!
Allerdings werde ich nur bei gröβeren Verstöβen wie z.B. Veröffentlichung
über Zeitschriften, Mailboxen, PD-Versendern und als Beilage von
kommerziellen Produkten vorgehen, wenn keine schriftliche Genehmigung von
mir vorliegt. Zur Zeit schreibe ich übrigens ganz ungern.
- Die Option LED ist jetzt auch aktiv für Laufwerke die nicht gecached
werden.
- Es ist eine neue Option dazugekommen: 'LRU' im Menu 'Zubehör'. Wenn
dieser Button aktiviert ist so benutzt TCache eine weitere neue (bzw. sehr
alte) Cachestrategie nämlich die sogenannte 'Last Recently Used'. Bei
dieser Strategie wird nicht stur nach einer linearen Liste Platz für neue
Sektoren gemacht, sondern die am wenigsten benutzen Sektoren werden aus
dem Cache rausgeschmissen. Durch ein biβchen überlegen konnte ich meine
lineare Liste ziemlich gut mit LRU kombinieren. Diese Option ist
eigentlich nur sinnvoll bei sehr kleinem Cache (<=128K) und
ausgeschalteter Fat&RootDir-Option. Durch diese Option wird die
Trefferrate bei kleinem Cache erhöht. Einen weiteren kleinen Vorteil
bringt diese Option bei Benchmarks die hauptsächlich einen CacheMiss
erzielen wie z.B. SCSITOOL.
- Die Testroutine NOX! wird jetzt auch angesprungen wenn TCache gar nicht
oder nur das betroffene Laufwerk nicht aktiviert sind. Ich habe diese
Änderung vorgenommen weil es anscheinend Bedarf dafür gibt (Hello NOX).
- Wenn TC61_ACC als Applikation unter MinT oder Mag!X gestartet wurde kann
keine Ramdisk mehr eingerichtet oder entfernt werden. Der Grund liegt in
der Speicherverwaltung.
- Wenn man PUN-INFO ausgeschaltet hat wurden bisher alle angemeldeten
Laufwerke auf maximale Sektorgröβe untersucht. Ab Version 6.1 werden nur
noch die von TCache unterstützten Laufwerke (aktiv für Laufwerk)
untersucht. Dies hat den Vorteil das man ein Laufwerk mit gröβerer
Sektorlänge rausnehmen kann um die Effektivität von TCache zu steigern.
- Es ist mal wieder eine neue Option dazugekommen: 'Bootsektor'. Wenn diese
Option eingeschaltet ist kann nicht mehr auf den Bootsektor geschrieben
werden. Beim Formatieren o.ä. Vorgängen muβ diese Option ausgeschaltet
werden. Dies ist ein weiterer Versuch die Verbreitung von Viren zu
unterbinden.
- Ramdisk verbiegt unter MTOS (MiNT) nicht mehr den 'act_pd'.
- Fehler im ACC behoben. Dieser Fehler hatte mit dem Absolut-Button zu tun.
Der Buttun an sich wurde richtig ausgewerte, doch leider hatte der Button
'Testing' auch nur Einfluβ auf Absolut.
- Bei der Testroutine 'NOX!' wurde in Version 6.0 Register D0 nicht
gesichert ab Version 6.1 werden alle Register gesichert. Desweiteren
bekommt die Testroutine jetzt immer in D0==0 (Anfang) und D0!=0 (Ende) in
Register A0 einen Zeiger auf die Parameter für Rwabs().
- Die Testroutine 'NOX!' wird jetzt NUR aufgerufen wenn ein realer Zugriff
auf die Festplatte erfolgt, d.h. Cache-Hits werden nicht mehr wargenommen
aber dafür wird jetzt auch das Zurückschreiben im VBI unterstützt.
- TCache kann jetzt auch die Sektornummern auf Gültigkeit überprüfen. Wenn
der Schalter 'Sektortest' eingeschaltet ist berechnet TCache den letzten
Sektor der bearbeitet werden soll und prüft die Sektornummer mit den
Einträgen im BiosParameterBlock. Falls die Nummern auβerhalb des erlaubten
Bereiches liegen gibt es den Fehler 'Sector not found' (-8).
- TCache beherscht jetzt zwei Methoden den Cache zu flushen. Einmal wird
alles in einem Durchgang geschrieben (Button 'Flush all' aktiv) und eimal
mit kleineren Pausen zwischen einzelnen Blöcken.
--------- Achtung Cookiefunktion RBRam hat sich seit 5.9 geändert!!!!!!!
Was hat sich bei der Version 6.0 gegenüber der Version 5.9 geändert ?
- Wenn man jetzt im Menu 'Zubehör' ein weiteres Menu anwählt, wird der
Button 'Zubehör' deselektiert um deutlicher zu machen daβ man ihn wieder
anwählen kann.
- Die Funktion RBRam hat Zuwachs bekommen. An das ursprüngliche Struct
müssen noch zwei Byte angefügt werden.
- Das ACC führt seine Testfunktionen jetzt im Supervisormode durch um
eventuelle Probleme mit Speicherschutz zu vermeiden.
- Da TCache ab Version 6.0 ShareWare sein soll habe ich die
Cookie-Routinen von Arnd Beissner (Danke nochmal) durch eigene, kompaktere
Unterprogramme ersetzt.
- Ab Version 6.0 gibt es jetzt auch einen Sektorprefetch von 0, d.h. es
wird kein zusätzlicher Sektor eingelesen. Im Prinzip gab es dieses auch
schon ab Version 5.0 aber die interne Abarbeitung von Sektorprefetch 0 bei
Versionen <6.0 war genauso wie bei Prefetch 9, d.h. der Sektor wurde
geladen und zweimal kopiert. Version 6.0 kopiert bei Sektorprefetch 0 nur
einmal und damit kann man bei einigen Benchmarktest wieder besser
- Mit dem Button 'Testing' im Menu 'Zubehör' kann man die Onlineprüfung
vom Accesory abschalten (nicht gewählt). Abgeschaltet werden damit sowohl
die Warnung das sich TCache deinstalliert hat als auch die Meldung der
Schreibfehler. TCache60.PRG überprüft trotzdem noch den eigenen
Programmcode und deinstalliert sich gegebenenfalls.
- TCache ist noch gesprächiger geworden. Was heiβen soll das jetzt auch
die Anzahl der Lesezugriffe, Schreibzugriffe und Anzahl der Zugriffe auf
ungerade Adressen von der Ramdisk gezählt und somit im ACC auch angezeigt
werden.
- TCache erlaubt es jetzt sogenannte 'absolute Zugriffe' auf eine
Festplatte zu unterbinden. Button 'Absolut' gewählt und absolute Zugriffe
sind erlaubt. Diese Option soll dazu dienen Programme zu entlarven die
Partitioninformationen umgehen (z.B. Viren). Bei Festplattentools
(Formatierer) muβ der Zugriff erlaubt werden.
- TCache zählt jetzt absolute Zugriffe und Schreibfehler bei 'Schreiben
verzögern' mit. Option 'Information' unter Zubehör.
- Das ACC überwacht jetzt auch den fehlerfreien Ablauf der Schreibzugriffe
wenn es als ACC gestartet wurde. Falls in der Interruptroutine ein Fehler
auftaucht wird dieser vom ACC gemeldet mit der Fehlernummer, dem
Fehlerlaufwerk und dem Fehlersektor. In der Alertbox, die im Fehlerfall
erscheint, hat man die Möglichkeit den Schreibzugriff weiterlaufen zu
lassen (weiter) oder aber abzubrechen (Abbruch). Im Falle von Abbruch
gehen Daten verloren aber der Rechner läuft normal weiter ohne die
permanente Wiederholung der Schreibzugriffe.
- Einige neue Cookie-Funktionen.
- Im ACC der Version 5.9 konnten höchstens 65535KB freier Speicher für
eine Partition angezeigt werden. Bei gröβeren Partitionen konnten
Vielfache von 65536KB beim freien Speicher fehlen. Ab Version 6.0 liegt
diese Grenze bei 999.999KB. Ich hoffe das reicht;-{)}
- Falls sich Daten auf der Ramdisk befinden und man möchte eben Jene
entfernen gibs eine Warnung.
- Unter den gespeicherten Optionen befindet sich jetzt auch die letzte
benutzte Ramdiskkennung und Gröβe.
- Bei Belegungsgrad werden jetzt zwei Zahlen angezeigt. Die erste Zahl
gibt die Belegung des Caches in % an wie bisher. Die zweite Zahl gibt die
Belegung durch gesperrte Daten in % an. Mit der zweiten Zahl kann man die
die Cachegröβe optimieren falls man Fat & Rootdir gewählt hat.
- Der Speicher für die Cachedaten wird jetzt per Malloc() angefordert.
Damit ist es möglich Code und Daten in verschiedenen Speicherbereichen zu
halten. Im Prinzip habe ich es nur für mich geändert da ich in meinem ST
nur 256k 'alternate Ram' habe. Weil ich auf diesen Speicher aber auch bei
16MHz mit full speed zugreifen kann muβte diese Änderung her. Ein weiterer
positiver Effekt dürfte bei TT's mit virtuellem Speicher auftreten, aber
das kann ich nicht testen da kein TT in meiner Reichweite steht.
- Da es mit zumindestens einem Festplattentreiber Probleme im Zusammenhang
mit der PUN-INFO-Struktur und dem Booten von Laufwerken<>'C' gab habe ich
die Auswertung der Struktur abschaltbar gemacht. Button 'PUN-INFO' im Menu
'Zubehör' deaktivieren/deaktiviert lassen und das wars. Bei Wechselplatten
bedeutet dies leider das wieder ein Getbpb() für alle Laufwerke gemacht.
- Zum Testen gibs jetzt einen Button 'NOX!' ist dieser angewählt versucht
TCache einen Cookie mit dem Namen 'NOX!' zu finden. Ist dieser vorhanden
betrachtet TCache den Wert des Cookies als Zeiger auf eine Routine. Diese
Routine wird beim Start und beim Ende von TCache augeführt, aber nur wenn
TCache aktiv ist. In D0 bekommt die Routine gesagt ob Rwabs() anfängt
(D0=0) oder aufhört (D0= 1). Falls die Routine beim Start aufgerufen wird
erhält das Unterprogramm in Register A0 noch einen Zeiger auf die
Parameter für Rwabs(). TCache rettet alle Register !
- Bis Version 5.9 war ein Fehler in der Behandlung des Bootsektors beim
'Schreiben verzögern' drin. Der Fehler trat nur auf wenn man sehr schnell
hintereinander den Bootsektor geschrieben und gelesen hat. Im Normalbetrieb
war dies nicht zu bemerken aber es gibt immer wieder Leute die solche
exotische Sachen machen (hi Martin).